// pages/addRelation/addRelation.js
const app = getApp()
const {
	addRelation
} = require('../../utils/api')
const {
	returnBack,
	DIFFTIME,
	getNowFormatDate
} = require('../../utils/util')

Page({
	data: {
		//时间选择器
		mode: '',
		dateVisible: false,
		date: new Date('2000-01-01').getTime(), // 支持时间戳传入
		dateText: '',

		// 指定选择区间
		start: '1900-01-01 00:00:00',
		end: '2050-09-09 12:12:12',

		//关系选择器
		cityVisible: false,
		cityText: '',
		cityValue: [],
		citys: [
			{
				label: '家属',
				value: '1'
			},
			{
				label: '朋友',
				value: '2'
			},
			{
				label: '其他',
				value: '3'
			},
		],

		//就诊人信息
		relation: {
			memberId: '', // 用户id
			name: '', // 姓名
			sex: '', // 性别
			tel: '', // 手机号
			age: '', // 年龄（根据出生日期算）
			idCardNumber: '', // 身份证号码
			relationship: '', // 与就诊人的关系
		}
	},
	//添加就诊人
	add() {
		const {
			memberId,
			name,
			sex,
			tel,
			age,
			idCardNumber,
			relationship
		} = this.data.relation
		console.log('当前登陆用户为' + memberId);
		if (name == '' || sex == '' || tel == '' || age == '' || idCardNumber == '' || relationship == '') {
			wx.showToast({
				title: '请将信息填写完整！',
				icon: 'none'
			})
		} else {
			const relation = this.data.relation
			console.log(relation);
			//去注册
			addRelation(relation).then((res) => {
				console.log(res.data);
				if (res.code == 200) {
					wx.showToast({
						title: '添加成功',
						duration: 2000
					})
					returnBack('/pages/hospital/users')
				}
			})
		}
	},

	//展示时间选择框
	showPicker(e) {
		const {
			mode
		} = e.currentTarget.dataset;
		this.setData({
			mode,
			[`${mode}Visible`]: true,
		});
	},
	//隐藏时间选择框
	hidePicker() {
		const {
			mode
		} = this.data;
		this.setData({
			[`${mode}Visible`]: false,
		});
	},
	//切换选择的时间
	onColumnChange(e) {
		console.log('pick', e.detail.value);
	},
	//选择出生日期（点击确定）
	onConfirm(e) {
		const {
			value
		} = e.detail;
		const {
			mode
		} = this.data;
		console.log('confirm', value);

		// 根据出生日期与现在的时间，计算出年龄
		// 1.获取当前日期
		const nowDay = getNowFormatDate()
		console.log("当前日期为" + nowDay);
		// 2.计算差值（年龄向下取整）
		const age = Math.floor(DIFFTIME(value, nowDay, 'y'))
		console.log("年龄为" + age);

		this.setData({
			"relation.age": age,
			[mode]: value,
			[`${mode}Text`]: value,
		});
		this.hidePicker();

		console.log(this.data.relation.age);
	},

	//显示关系选择框
	onCityPicker() {
		this.setData({
			cityVisible: true
		});
	},
	//更改选择
	onColumnChange(e) {
		console.log('picker pick:', e.detail);
	},
	//选定
	onPickerChange(e) {
		const {
			key
		} = e.currentTarget.dataset;
		const {
			value
		} = e.detail;
		const {
			label
		} = e.detail;
		this.setData({
			"relation.relationship": value[0],
			[`${key}Visible`]: false,
			[`${key}Text`]: label.join(' '),
		});

		console.log('picker change:', e.detail);
		console.log('与就诊人关系为', this.data.relation.relationship);
	},

	//填写姓名
	changeName(e) {
		const name = e.detail.value
		this.setData({
			"relation.name": name
		})
		console.log(this.data.relation.name);
	},
	//选择性别
	changeSex(e) {
		const sex = e.detail.value
		this.setData({
			"relation.sex": sex
		})
		console.log(this.data.relation.sex);
	},
	//填写手机号
	changeTel(e) {
		const tel = e.detail.value
		this.setData({
			"relation.tel": tel
		})
		console.log(this.data.relation.tel);
	},
	//填写身份证号
	changeId(e) {
		const idCardNumber = e.detail.value
		this.setData({
			"relation.idCardNumber": idCardNumber
		})
		console.log("身份证号为" + this.data.relation.idCardNumber);
	},

	/**
	 * 生命周期函数--监听页面加载
	 */
	onLoad(options) {
		this.setData({
			"relation.memberId": app.globalData.currentUser.id
		})
		console.log(this.data.relation.memberId);
	},

	/**
	 * 生命周期函数--监听页面初次渲染完成
	 */
	onReady() {

	},

	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow() {

	},

	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide() {

	},

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload() {

	},

	/**
	 * 页面相关事件处理函数--监听用户下拉动作
	 */
	onPullDownRefresh() {

	},

	/**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom() {

	},

	/**
	 * 用户点击右上角分享
	 */
	onShareAppMessage() {

	}
})